A Semantic Framework for the Declarative Debugging of Wrong and Missing Answers in Declarative Constraint Programming

نویسندگان

  • Rafael del Vado Vírseda
  • Fernando Pérez Morente
چکیده

Debugging tools are a practical need for helping programmers to understand why their programs do not work as intended. Declarative programming paradigms involving complex operational details, such as constraint solving and lazy evaluation, do not fit well to traditional debugging techniques relying on the inspection of low-level computation traces. As a solution to this problem, and following a seminal idea by Shapiro (Shapiro, 1982), declarative debugging (a.k.a. declarative diagnosis or algorithmic debugging) uses Computation Trees (shortly, CTs) in place of traces. CTs are built a posteriori to represent the structure of a computation whose top-level outcome is regarded as a symptom of the unexpected behavior by the user. Each node in a CT represents the computation of some observable result, depending on the results of its children nodes, using a program fragment also attached to the node. Declarative diagnosis explores a CT looking for a so-called buggy node which computes an unexpected result from children whose results are all expected. Each buggy node points to a program fragment responsible for the unexpected behavior. The search for a buggy node can be implemented with the help of an external oracle (usually the user with some semiautomatic support) who has a reliable declarative knowledge of the expected program semantics, the so-called intended interpretation.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Declarative Debugging of Missing Answers in Constraint Functional-Logic Programming

It is well known that constraint logic and functional-logic programming languages have many advantages, and there is a growing trend to develop and incorporate effective tools to this class of declarative languages. In particular, debugging tools are a practical need for diagnosing the causes of erroneous computations. Recently [1], we have presented a prototype tool for the declarative diagnos...

متن کامل

Declarative Diagnosis of Wrong Answers in Constraint Functional-Logic Programming

Debugging tools are a practical need for diagnosing the causes of erroneous computations. Declarative programming paradigms involving complex operational details, such as constraint solving and lazy evaluation, do not fit well to traditional debugging techniques relying on the inspection of low-level computation traces. As a solution to this problem, declarative diagnosis uses Computation Trees...

متن کامل

A Declarative Debugging Scheme

We present a very simple but flexible declarative debugging scheme. A Abstract-1 declarative debugger can be defined in Prolog with a single clause, and relies on the definition of just two additional predicates. With suitable definitions of these predicates, the debugger can diagnose several classes of bugs in many languages. We give examples of diagnoses of wrong answers in functional, relati...

متن کامل

Declarative Incorrectness Diagnosis of Constraint Logic Programs

Our concern in this paper is the declarative debugging of Constraint Logic Programs in the framework of the CLP formalism. Our diagnosis is declarative, this means that there is no need for the programmer to understand the computational behaviour of the system. What is required is the declarative intended semantics of the program. It is not possible to merely adapt to CLP diagnosis techniques o...

متن کامل

Declarative Debugging in Constraint Logic Programming

This paper is motivated by the declarative insuuciency diagnosis of constraint logic programs, but focuses only on theoretical viewpoints. Many techniques have been developed for logic programming but cannot be merely adapted to constraint logic programming. Constraint logic program semantics is redeened in terms of proof trees using a cover relation. Proof trees give an intrinsic deenition to ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012